--[[ 编码: WMS-09-10 名称: 显示前 作者:HAN 日期: 2025-1-29 入口函数:BeforeGridShow 功能说明: 控制行按钮显示 --]] wms_task = require( "wms_task" ) function BeforeGridShow ( strLuaDEID ) local nRet, strRetInfo local lock_objs local n, nCount local lock_type = {"","入库锁","出库锁","禁用"} local lock_obj_type = {"","货位","逻辑库区"} nRet, lock_objs = m3.GetSysDataJson( strLuaDEID ) if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), lock_objs ) end nCount = #lock_objs if (nCount == 0) then return end local obj local row_data_set = {} local bs_state local n_obj_type, n_lock_type local task_code, op_code local task, operation local do_check_again = false for n = 1, nCount do local row_item = {} obj = lock_objs[n] row_item.id = obj.id row_item.attrs = {} row_item.row_button_hidden = "删除" task_code = '' op_code = '' -- 获取 项目清单 对象属性 for nIndex = 1, #obj.attrs do local attr_value = {} attr_value.attr = obj.attrs[nIndex].attr attr_value.value = obj.attrs[nIndex].value if ( attr_value.attr == 'N_OBJ_TYPE' ) then n_obj_type = lua.StrToNumber( attr_value.value ) attr_value.value = lock_obj_type[n_obj_type+1] elseif ( attr_value.attr == 'N_TYPE' ) then n_lock_type = lua.StrToNumber( attr_value.value ) attr_value.value = lock_type[n_lock_type+1] elseif ( attr_value.attr == 'S_TASK_CODE' ) then task_code = attr_value.value elseif ( attr_value.attr == 'S_OP_CODE' ) then op_code = attr_value.value end table.insert( row_item.attrs, attr_value ) end do_check_again = true if ( task_code ~= '' ) then -- 检查一下任务是否有效,还是激活的任务,任务完成,任务不存在就可以取消这个任务产生的货位锁 nRet, task = wms_task.GetInfo( strLuaDEID, task_code ) if ( nRet == 1 ) then -- 任务已经不存在 row_item.row_button_hidden = "" row_item.row_bk_color = "#23EF9" do_check_again = false end end if ( do_check_again and op_code ~= '') then end table.insert( row_data_set, row_item) end local action = { { action_type = "reset_data_attr", value = row_data_set } } nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action)) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end end